--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / messages / ConversationMessageEntry.vue
Displaying Raw • Download
meshchatx/src/frontend/components/messages/ConversationMessageEntry.vue e06f20f7b273562a8494bd07c029c9941ef985c9 (e06f20f7) Text, 57.38 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff'imageGroup'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col max-w-[85%] sm:max-w-[75%] md:max-lg:max-w-[70%] lg:max-w-[65%] mb-2 group min-w-0"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'ml-auto items-end'Tff7b72: Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outboundTb4b4b4,
Ta5d6ff'mr-auto items-start'Tff7b72: Tff7b72!Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outboundTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Tff7b72falseTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"relative w-full max-w-[min(280px,85vw)] rounded-2xl overflow-hidden ring-1 ring-black/10 dark:ring-white/10 shadow-md mb-1.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'ml-auto' Tff7b72: Ta5d6ff'mr-auto'Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onChatItemClickTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Tff7b72trueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"absolute top-1 right-1 z-10 p-1 rounded-lg opacity-0 group-hover:opacity-100 hover:opacity-100 transition-opacity text-white hover:bg-white/20"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.message_actions'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"dots-vertical" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3length Tff7b72=== T79c0ff2Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-0.5 bg-black/5 dark:bg-white/5"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3imgItem Tff7b72in Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3idTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffmessage-Tffd700${Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff`Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"relative aspect-square min-h-[96px] max-h-[220px] min-w-0 overflow-hidden focus:outline-none focus-visible:ring-2 focus-visible:ring-white/80"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4, Te6edf3cvTb4b4b4.Te6edf3imageGroupGalleryUrlsTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72InViewAnimatedImg
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isAnimatedRasterTypeTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTff7b72?Tb4b4b4.Te6edf3image_typeTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3fit-parent
Te6edf3img-classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3v-else
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3loadingTff7b72=Ta5d6ff"lazy"
Te6edf3decodingTff7b72=Ta5d6ff"async"
Te6edf3classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3length Tff7b72=== T79c0ff3Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-0.5 bg-black/5 dark:bg-white/5"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3imgItem Tff7b72in Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff2Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3idTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffmessage-Tffd700${Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff`Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"relative aspect-square min-h-[96px] max-h-[220px] min-w-0 overflow-hidden focus:outline-none focus-visible:ring-2 focus-visible:ring-white/80"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4, Te6edf3cvTb4b4b4.Te6edf3imageGroupGalleryUrlsTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72InViewAnimatedImg
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isAnimatedRasterTypeTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTff7b72?Tb4b4b4.Te6edf3image_typeTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3fit-parent
Te6edf3img-classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3v-else
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3imgItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3loadingTff7b72=Ta5d6ff"lazy"
Te6edf3decodingTff7b72=Ta5d6ff"async"
Te6edf3classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Tb4b4b4:Te6edf3idTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffmessage-Tffd700${Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff`Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"relative col-span-2 aspect-[2/1] max-h-52 min-h-[80px] w-full overflow-hidden focus:outline-none focus-visible:ring-2 focus-visible:ring-white/80"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(
Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4,
Te6edf3cvTb4b4b4.Te6edf3imageGroupGalleryUrlsTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72InViewAnimatedImg
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3isAnimatedRasterTypeTb4b4b4(
Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTff7b72?Tb4b4b4.Te6edf3image_type
Tb4b4b4)
Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3fit-parent
Te6edf3img-classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3v-else
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4[T79c0ff2Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3loadingTff7b72=Ta5d6ff"lazy"
Te6edf3decodingTff7b72=Ta5d6ff"async"
Te6edf3classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-0.5 bg-black/5 dark:bg-white/5"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3cellTb4b4b4, Te6edf3idxTb4b4b4) Tff7b72in Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff4Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3idTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffmessage-Tffd700${Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff`Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"relative aspect-square min-h-[96px] max-h-[220px] min-w-0 overflow-hidden focus:outline-none focus-visible:ring-2 focus-visible:ring-white/80"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Tb4b4b4, Te6edf3cvTb4b4b4.Te6edf3imageGroupGalleryUrlsTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72InViewAnimatedImg
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isAnimatedRasterTypeTb4b4b4(Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTff7b72?Tb4b4b4.Te6edf3image_typeTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3fit-parent
Te6edf3img-classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3v-else
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfImageUrlTb4b4b4(Te6edf3cellTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4)Ta5d6ff"
Te6edf3loadingTff7b72=Ta5d6ff"lazy"
Te6edf3decodingTff7b72=Ta5d6ff"async"
Te6edf3classTff7b72=Ta5d6ff"h-full w-full object-cover object-center transition-transform hover:scale-[1.02]"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3idx Tff7b72=== T79c0ff3 Tff7b72&& Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3length Tff7b72> T79c0ff4Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"pointer-events-none absolute inset-0 flex items-center justify-center bg-black/55 text-white text-3xl font-bold"
Tb4b4b4>
+Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3imageGroupSortedChronTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4.Te6edf3length Tff7b72- T79c0ff4 Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"relative rounded-2xl overflow-hidden transition-all duration-200 hover:shadow-md min-w-0 px-3 py-2"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Tb4b4b4[Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'failed'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)
Tff7b72? Ta5d6ff'shadow-sm'
Tff7b72: Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3is_spam
Tff7b72? Ta5d6ff'bg-yellow-100 dark:bg-yellow-900/30 text-yellow-900 dark:text-yellow-100 border border-yellow-300 dark:border-yellow-700 shadow-sm'
Tff7b72: Te6edf3cvTb4b4b4.Te6edf3isOutboundWaitingBubbleTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Tff7b72? Ta5d6ff'shadow-sm'
Tff7b72: Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundBubbleSurfaceClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-900 text-gray-900 dark:text-zinc-100 border border-gray-200/60 dark:border-zinc-800/60 shadow-sm'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4, Tff7b72trueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-end gap-1.5 select-none h-3"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] opacity-80 font-medium"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleFooterTimeClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getMessageInfoLinesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outboundTb4b4b4)Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff'\n'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3created_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outboundTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOpportunisticDeferredDeliveryTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold uppercase tracking-wider"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Tff7b72? Ta5d6ff'text-amber-800 dark:text-amber-300'
Tff7b72: Ta5d6ff'text-amber-200'
Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.opportunistic_deferred_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'rejected'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold uppercase tracking-wider text-white"
Tb4b4b4>
Tff7b72{{ Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff"rejected" Tff7b72? Ta5d6ff"Rejected" Tff7b72: Ta5d6ff"Failed" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"ml-0.5 p-0.5 rounded hover:bg-white/20 transition-colors"
Te6edf3titleTff7b72=Ta5d6ff"Retry sending"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3retrySendingMessageTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"refresh" Te6edf3classTff7b72=Ta5d6ff"size-3 text-white" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff'delivered'Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check-all"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleDeliveredIconClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Te6edf3titleTff7b72=Ta5d6ff"Delivered"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'sent'Tb4b4b4, Ta5d6ff'propagated'Tb4b4b4, Ta5d6ff'unknown'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleSentCheckIconClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"
Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff'propagated' Tff7b72? Ta5d6ff'Sent to propagation node' Tff7b72: Ta5d6ff'Sent'
Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3v-else-ifTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3showRichOutboundPendingUiTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4) Tff7b72&& Te6edf3cvTb4b4b4.Te6edf3isOutboundPendingForUiTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Ta5d6ff"
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3classTff7b72=Ta5d6ff"animate-spin size-3.5 shrink-0"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundSendingStatusIconClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleStatusHoverTitleTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3outboundBubbleStatusHoverTitleTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72circle
Te6edf3classTff7b72=Ta5d6ff"opacity-25"
Te6edf3cxTff7b72=Ta5d6ff"12"
Te6edf3cyTff7b72=Ta5d6ff"12"
Te6edf3rTff7b72=Ta5d6ff"10"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"4"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72circleTb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3classTff7b72=Ta5d6ff"opacity-75"
Te6edf3fillTff7b72=Ta5d6ff"currentColor"
Te6edf3dTff7b72=Ta5d6ff"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pathTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOutboundPendingForUiTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubblePendingCheckIconClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.sending_ellipsis'Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOpportunisticDeferredDeliveryTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"relative flex size-3.5 shrink-0 items-center justify-center rounded-full border border-dashed border-amber-200/85"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.opportunistic_deferred_tooltip'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"clock-outline" Te6edf3classTff7b72=Ta5d6ff"size-2.5 text-amber-200/95" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'rejected'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"alert-circle-outline"
Te6edf3classTff7b72=Ta5d6ff"size-3 text-white"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleFailedTitleTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_actions_expandedTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"border-t px-4 py-2.5 rounded-b-2xl rounded-t-md w-full max-w-[min(280px,85vw)]"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundExpandedActionsShellClassTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-blue-500 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-blue-600 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3replyToMessageTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.reply"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-red-500 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-red-600 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3deleteChatItemTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Delete
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-gray-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-gray-700 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3showRawMessageTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Raw LXM
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3expandedMessageInfo Tff7b72=== Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mt-2 px-1 text-xs text-gray-500 dark:text-zinc-400 space-y-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'self-end' Tff7b72: Ta5d6ff'self-start'Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3lineTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72in Te6edf3cvTb4b4b4.Te6edf3getMessageInfoLinesTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4, Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outboundTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3indexTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"break-all"
Tb4b4b4>
Tff7b72{{ Te6edf3line Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-fit max-w-full flex-wrap items-center gap-0.5 px-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'self-end justify-end' Tff7b72: Ta5d6ff'self-start justify-start'Tb4b4b4,
Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0 Tff7b72? Ta5d6ff'mt-0.5' Tff7b72: Ta5d6ff'mt-0'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3rTb4b4b4, Te6edf3ridxTb4b4b4) Tff7b72in Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3rTb4b4b4.Te6edf3reactionHash Tff7b72|| Te6edf3ridxTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex min-h-[1.125rem] min-w-[1.125rem] cursor-default select-none items-center justify-center rounded-full border border-gray-200/90 bg-white px-1 py-0 text-sm leading-none shadow-sm dark:border-zinc-600/90 dark:bg-zinc-900"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound Tff7b72? Te6edf3ridx Tff7b72+ T79c0ff2 Tff7b72: Te6edf3ridx Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3reactionReactorLabelTb4b4b4(Te6edf3rTb4b4b4.Te6edf3senderTb4b4b4)Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3rTb4b4b4.Te6edf3emoji Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center justify-center rounded-full border border-dashed border-gray-300 bg-transparent text-xs leading-none text-gray-400 hover:border-gray-400 hover:text-gray-600 hover:bg-gray-50 dark:border-zinc-600 dark:text-zinc-500 dark:hover:border-zinc-500 dark:hover:text-zinc-300 dark:hover:bg-zinc-800 transition-colors opacity-0 group-hover:opacity-100"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0
Tff7b72? Ta5d6ff'min-h-[1.125rem] min-w-[1.125rem] px-1 py-0'
Tff7b72: Ta5d6ff'h-4 w-4 min-h-0 p-0'
Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3is_outbound Tff7b72? T79c0ff1 Tff7b72: Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.react'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3openReactionPickerTb4b4b4(Te6edf3entryTb4b4b4.Te6edf3itemsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"emoticon-plus-outline" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3chatItem Tff7b72in Tb4b4b4[Te6edf3entryTb4b4b4.Te6edf3chatItemTb4b4b4]Ta5d6ff"
Te6edf3v-else
Tb4b4b4:Te6edf3idTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ffmessage-Tffd700${Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff`Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col max-w-[85%] sm:max-w-[75%] md:max-lg:max-w-[70%] lg:max-w-[65%] mb-2 group min-w-0"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'ml-auto items-end'Tff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTb4b4b4,
Ta5d6ff'mr-auto items-start'Tff7b72: Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3chatItemTb4b4b4, Tff7b72falseTb4b4b4)Ta5d6ff"
Tb4b4b4>
T8b949e<!-- standalone image (outside bubble) -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"relative group w-full max-w-[min(280px,85vw)] rounded-2xl overflow-hidden ring-1 ring-black/10 dark:ring-white/10 shadow-md mb-1.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'ml-auto' Tff7b72: Ta5d6ff'mr-auto'Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3chatItemTb4b4b4, Tff7b72trueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72template
Te6edf3v-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'tgs'Tb4b4b4, Ta5d6ff'webm'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3imageTb4b4b4.Te6edf3image_type Tff7b72|| Ta5d6ff''Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72StickerView
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3pendingOutboundImageSrcTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3image-typeTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3imageTb4b4b4.Te6edf3image_type Tff7b72|| Ta5d6ff''Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"max-h-[min(320px,55vh)] w-full bg-black/5 dark:bg-white/5"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-elseTb4b4b4>
Tb4b4b4<Tff7b72InViewAnimatedImg
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3isAnimatedRasterTypeTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3imageTff7b72?Tb4b4b4.Te6edf3image_typeTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3pendingOutboundImageSrcTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3img-classTff7b72=Ta5d6ff"max-h-[min(320px,55vh)] w-full cursor-pointer object-contain object-center bg-black/5 dark:bg-white/5 transition-transform hover:scale-[1.01]"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3pendingOutboundImageSrcTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72img
Te6edf3v-else
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3pendingOutboundImageSrcTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3loadingTff7b72=Ta5d6ff"lazy"
Te6edf3decodingTff7b72=Ta5d6ff"async"
Te6edf3classTff7b72=Ta5d6ff"max-h-[min(320px,55vh)] w-full cursor-pointer object-contain object-center bg-black/5 dark:bg-white/5 transition-transform hover:scale-[1.01]"
Te6edf3altTff7b72=Ta5d6ff""
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3openImageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3pendingOutboundImageSrcTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"pointer-events-none absolute bottom-2 left-2 rounded-lg bg-black/60 px-2.5 py-1 text-xs text-white opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100 sm:opacity-100"
Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3imageTb4b4b4.Te6edf3image_type Tff7b72?? Ta5d6ff"image"Tb4b4b4)Tb4b4b4.Te6edf3toUpperCaseTb4b4b4(Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"mx-1"Tb4b4b4>·Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatAttachmentSizeTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3imageTb4b4b4, Ta5d6ff"image"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- image-only: inline timestamp overlay (no bubble) -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 select-none mt-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'justify-end' Tff7b72: Ta5d6ff'justify-start'Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[9px] opacity-50 font-medium"Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3created_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72template Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff'delivered'Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check-all"
Te6edf3classTff7b72=Ta5d6ff"size-3 opacity-50"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'sent'Tb4b4b4, Ta5d6ff'propagated'Tb4b4b4, Ta5d6ff'unknown'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check"
Te6edf3classTff7b72=Ta5d6ff"size-3 opacity-50"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'rejected'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold uppercase tracking-wider text-red-500"
Tb4b4b4>
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff"rejected" Tff7b72? Ta5d6ff"Rejected" Tff7b72: Ta5d6ff"Failed" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- message content -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3cvTb4b4b4.Te6edf3isImageOnlyMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"relative rounded-2xl overflow-hidden transition-all duration-200 hover:shadow-md min-w-0"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Tb4b4b4[Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'failed'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)
Tff7b72? Ta5d6ff'shadow-sm'
Tff7b72: Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3is_spam
Tff7b72? Ta5d6ff'bg-yellow-100 dark:bg-yellow-900/30 text-yellow-900 dark:text-yellow-100 border border-yellow-300 dark:border-yellow-700 shadow-sm'
Tff7b72: Te6edf3cvTb4b4b4.Te6edf3isOutboundWaitingBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72? Ta5d6ff'shadow-sm'
Tff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundBubbleSurfaceClassTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72: Ta5d6ff'bg-white dark:bg-zinc-900 text-gray-900 dark:text-zinc-100 border border-gray-200/60 dark:border-zinc-800/60 shadow-sm'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3bubbleStylesTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onChatItemClickTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3contextmenuTb4b4b4.Te6edf3preventTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3chatItemTb4b4b4, Tff7b72trueTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"absolute top-1 right-1 p-1 rounded-lg opacity-0 group-hover:opacity-100 hover:opacity-100 transition-opacity text-gray-400 hover:text-gray-600 dark:hover:text-zinc-300 dark:text-zinc-500"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundMessageMenuButtonHoverClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.message_actions'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3onMessageContextMenuTb4b4b4(Te6edf3$eventTb4b4b4, Te6edf3chatItemTb4b4b4, Tff7b72falseTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"dots-vertical" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full space-y-1 px-4 py-2.5 min-w-0"Tb4b4b4>
T8b949e<!-- reply snippet -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reply_to_hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mb-2 p-2 rounded-lg bg-black/5 dark:bg-white/5 border-l-2 border-blue-500/50 cursor-pointer hover:bg-black/10 dark:hover:bg-white/10 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3scrollToMessageTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reply_to_hashTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 text-[10px] font-bold uppercase tracking-tight mb-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundReplySnippetTitleClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"reply" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.replying_to"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xs opacity-70 truncate line-clamp-1 italic"Tb4b4b4>
Tff7b72{{
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3reply_quoted_content Tff7b72||
Te6edf3cvTb4b4b4.Te6edf3getRepliedMessageTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reply_to_hashTb4b4b4)Tff7b72?Tb4b4b4.Te6edf3content Tff7b72||
Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reply_to_hash
Tff7b72? Ta5d6ff`Ta5d6ffMessage <Tffd700${Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reply_to_hashTb4b4b4.Te6edf3substringTb4b4b4(T79c0ff0Tb4b4b4, T79c0ff8Tb4b4b4)Tffd700}Ta5d6ff...>Ta5d6ff`
Tff7b72: Ta5d6ff"(Message not found)"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- spam badge -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3is_spamTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1.5 text-xs font-medium mb-1"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72? Ta5d6ff'text-orange-800 dark:text-orange-300'
Tff7b72: Ta5d6ff'text-orange-200'
Tff7b72: Ta5d6ff'text-orange-700 dark:text-orange-300'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"alert-decagram" Te6edf3classTff7b72=Ta5d6ff"size-4" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Marked as SpamTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- content -->
T8b949e<!-- eslint-disable vue/no-v-html -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3content Tff7b72&&
Tff7b72!Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tff7b72?Tb4b4b4.Te6edf3isOnlyPaperMessage Tff7b72&&
Tff7b72!Te6edf3cvTb4b4b4.Te6edf3shouldHideAutoImageCaptionTb4b4b4(Te6edf3chatItemTb4b4b4)
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"leading-relaxed break-words [word-break:break-word] min-w-0 markdown-content"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'markdown-content--outbound-theme'Tff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72&& Te6edf3cvTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4,
Ta5d6ff'markdown-content--outbound-solid'Tff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72&& Tff7b72!Te6edf3cvTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4,
Ta5d6ff'markdown-content--inbound'Tff7b72: Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTb4b4b4,
Ta5d6ff'markdown-content--single-emoji'Tff7b72: Te6edf3cvTb4b4b4.Te6edf3messageMarkdownSingleEmojiTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'font-family'Tff7b72: Ta5d6ff'inherit'Tb4b4b4,
Ta5d6ff'font-size'Tff7b72: Te6edf3cvTb4b4b4.Te6edf3messageMarkdownFontSizePxTb4b4b4(Te6edf3chatItemTb4b4b4) Tff7b72+ Ta5d6ff'px'Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3handleMessageClickTa5d6ff"
Te6edf3v-htmlTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3renderMarkdownTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3contentTb4b4b4)Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- eslint-enable vue/no-v-html -->
T8b949e<!-- telemetry placeholder for empty content messages -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3content Tff7b72&& Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3telemetryTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-2 pb-2 border-b border-gray-100/20"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"satellite-variant" Te6edf3classTff7b72=Ta5d6ff"size-4 opacity-60" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold uppercase tracking-wider opacity-60"Tb4b4b4>
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff"Telemetry update sent" Tff7b72: Ta5d6ff"Telemetry update received" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3content Tff7b72&& Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3telemetry_streamTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-2 pb-2 border-b border-gray-100/20"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"database-sync" Te6edf3classTff7b72=Ta5d6ff"size-4 opacity-60" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold uppercase tracking-wider opacity-60"
Tb4b4b4>Telemetry stream received (Tff7b72{{
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetry_streamTb4b4b4.Te6edf3length
Tff7b72}}
entries)Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"
Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3content Tff7b72&&
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3commandsTff7b72?Tb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Te6edf3cTb4b4b4[Ta5d6ff'0x01'Tb4b4b4] Tff7b72|| Te6edf3cTb4b4b4[Ta5d6ff'1'Tb4b4b4] Tff7b72|| Te6edf3cTb4b4b4[Ta5d6ff'0x1'Tb4b4b4]Tb4b4b4)
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 mb-2 pb-2 border-b border-gray-100/20"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"crosshairs-question" Te6edf3classTff7b72=Ta5d6ff"size-4 opacity-60" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold uppercase tracking-wider opacity-60"Tb4b4b4>
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff"Location Request Sent" Tff7b72: Ta5d6ff"Location Request Received" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- parsed items (contacts / paper messages) -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff" Te6edf3classTff7b72=Ta5d6ff"mt-2 space-y-2"Tb4b4b4>
T8b949e<!-- contact -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contact Tff7b72&& Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-2 p-3 rounded-xl bg-blue-50 dark:bg-blue-900/20 border border-blue-100 dark:border-blue-800/30"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 text-blue-700 dark:text-blue-300"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"account-plus-outline" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold"Tb4b4b4>Contact SharedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72LxmfUserIcon
Tb4b4b4:Te6edf3custom-imageTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3custom_imageTa5d6ff"
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3icon_nameTa5d6ff"
Tb4b4b4:Te6edf3icon-foreground-colourTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3foreground_colour
Ta5d6ff"
Tb4b4b4:Te6edf3icon-background-colourTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_user_iconTff7b72?Tb4b4b4.Te6edf3background_colour
Ta5d6ff"
Te6edf3icon-classTff7b72=Ta5d6ff"size-10"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white truncate"Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-mono text-gray-500 dark:text-zinc-400 truncate"Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3hash Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_addressTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-mono text-gray-400 dark:text-zinc-500 truncate"
Tb4b4b4>
LXMF: Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_address Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxst_addressTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-mono text-gray-400 dark:text-zinc-500 truncate"
Tb4b4b4>
LXST: Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxst_address Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full py-2 bg-blue-600 hover:bg-blue-700 text-white rounded-lg text-xs font-bold transition-colors shadow-sm"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3addContactTb4b4b4(
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3hashTb4b4b4,
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxmf_addressTb4b4b4,
Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3contactTb4b4b4.Te6edf3lxst_address
Tb4b4b4)
Ta5d6ff"
Tb4b4b4>
Add to Contacts
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- paper message auto-conversion -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3paperMessage Tff7b72&& Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-2 p-3 rounded-xl bg-emerald-50 dark:bg-black/60 border border-emerald-100 dark:border-zinc-700/50"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 text-emerald-700 dark:text-emerald-400"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"qrcode-scan" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold"Tb4b4b4>Paper Message detectedTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-emerald-600/80 dark:text-zinc-400 leading-relaxed"Tb4b4b4>
This message contains a signed LXMF URI that can be ingested into your conversations.
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"w-full py-2 bg-emerald-600 hover:bg-emerald-700 text-white rounded-lg text-xs font-bold transition-colors shadow-sm"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3ingestPaperMessageTb4b4b4(Te6edf3cvTb4b4b4.Te6edf3getParsedItemsTb4b4b4(Te6edf3chatItemTb4b4b4)Tb4b4b4.Te6edf3paperMessageTb4b4b4)Ta5d6ff"
Tb4b4b4>
Ingest Message
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- audio field -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3audioTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"pb-1"Tb4b4b4>
T8b949e<!-- audio is loaded -->
Tb4b4b4<Tff7b72AudioWaveformPlayer
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfMessageAudioAttachmentCacheTb4b4b4[Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3lxmfMessageAudioAttachmentCacheTb4b4b4[Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3is-outboundTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff"
Tb4b4b4/Tb4b4b4>
T8b949e<!-- audio is not yet loaded -->
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-center p-2 rounded-xl bg-gray-50/50 dark:bg-zinc-800/50 border border-gray-100 dark:border-zinc-800 min-h-[54px]"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"size-4 border-2 border-blue-500/20 border-t-blue-500 rounded-full animate-spin"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold text-gray-400 uppercase tracking-wider"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"messages.downloading"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] mt-1 text-right opacity-60"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundAttachmentCaptionClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Voice Note •
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatAttachmentSizeTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3audioTb4b4b4, Ta5d6ff"audio"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- file attachment fields -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3file_attachmentsTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-2 mt-1"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3file_attachmentTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72of Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3file_attachments Tff7b72?? Tb4b4b4[Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3file_attachmentTb4b4b4.Te6edf3file_nameTa5d6ff"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Tb4b4b4:Te6edf3downloadTff7b72=Ta5d6ff"Te6edf3file_attachmentTb4b4b4.Te6edf3file_nameTa5d6ff"
Tb4b4b4:Te6edf3hrefTff7b72=Ta5d6ff"Ta5d6ff`Ta5d6ff/api/v1/lxmf-messages/attachment/Tffd700${Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTffd700}Ta5d6ff/file?file_index=Tffd700${Te6edf3indexTffd700}Ta5d6ff`Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-3 border rounded-lg px-3 py-2 text-sm font-medium cursor-pointer transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundEmbeddedCardClassTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72: Ta5d6ff'bg-gray-50 dark:bg-zinc-800/50 text-gray-700 dark:text-zinc-300 border-gray-200/60 dark:border-zinc-700 hover:bg-gray-100 dark:hover:bg-zinc-800'
Ta5d6ff"
@Te6edf3click.Te6edf3stop
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"my-auto"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"paperclip" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"truncate text-xs font-bold"Tb4b4b4>
Tff7b72{{ Te6edf3file_attachmentTb4b4b4.Te6edf3file_name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-normal"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundEmbeddedSecondaryTextClassTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72: Ta5d6ff'text-gray-500 dark:text-zinc-400'
Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatAttachmentSizeTb4b4b4(Te6edf3file_attachmentTb4b4b4, Ta5d6ff"file"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"my-auto"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"download" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- commands -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3commandsTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"space-y-2 mt-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3commandTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72in Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3commandsTa5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3indexTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3commandTb4b4b4[Ta5d6ff'0x01'Tb4b4b4] Tff7b72|| Te6edf3commandTb4b4b4[Ta5d6ff'1'Tb4b4b4] Tff7b72|| Te6edf3commandTb4b4b4[Ta5d6ff'0x1'Tb4b4b4]Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 border border-gray-200/60 dark:border-zinc-700 hover:bg-gray-50 dark:hover:bg-zinc-800 rounded-lg px-3 py-2 text-sm font-medium transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundEmbeddedCardClassTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72: Ta5d6ff'bg-gray-50 dark:bg-zinc-800/50 text-gray-700 dark:text-zinc-300'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"crosshairs-question" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xs uppercase tracking-wider opacity-80"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.location_requested"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-[10px] opacity-70"Tb4b4b4>
Peer is requesting your location
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- telemetry / location field -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTff7b72?Tb4b4b4.Te6edf3telemetryTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"pb-1 mt-1 space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3locationTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 border border-gray-200/60 dark:border-zinc-700 hover:bg-gray-50 dark:hover:bg-zinc-800 rounded-lg px-3 py-2 text-sm font-medium transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound
Tff7b72? Te6edf3cvTb4b4b4.Te6edf3outboundEmbeddedCardClassTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72: Ta5d6ff'bg-gray-50 dark:bg-zinc-800/50 text-gray-700 dark:text-zinc-300'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3viewLocationOnMapTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3locationTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"map-marker" Te6edf3classTff7b72=Ta5d6ff"size-5" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-[10px] uppercase tracking-wider opacity-80"Tb4b4b4>LocationTb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-mono opacity-70"Tb4b4b4>
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3latitudeTb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff6Tb4b4b4) Tff7b72}},
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3longitudeTb4b4b4.Te6edf3toFixedTb4b4b4(T79c0ff6Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
T8b949e<!-- Live Track Toggle Button (only for incoming) -->
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2 border border-gray-200/60 dark:border-zinc-700 hover:bg-gray-50 dark:hover:bg-zinc-800 rounded-lg px-3 py-2 text-sm font-medium transition-colors"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3cvTb4b4b4.Te6edf3selectedPeerTff7b72?Tb4b4b4.Te6edf3is_tracking
Tff7b72? Ta5d6ff'bg-blue-500/20 text-blue-600 dark:text-blue-400 border-blue-500/30 shadow-inner'
Tff7b72: Ta5d6ff'bg-gray-50 dark:bg-zinc-800/50 text-gray-700 dark:text-zinc-300'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3toggleTrackingTb4b4b4(Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3selectedPeerTff7b72?Tb4b4b4.Te6edf3is_tracking Tff7b72? Ta5d6ff'radar' Tff7b72: Ta5d6ff'crosshairs'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{
Ta5d6ff'animate-pulse text-blue-500'Tff7b72: Te6edf3cvTb4b4b4.Te6edf3selectedPeerTff7b72?Tb4b4b4.Te6edf3is_trackingTb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-[10px] uppercase tracking-wider opacity-80"Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3selectedPeerTff7b72?Tb4b4b4.Te6edf3is_tracking Tff7b72? Ta5d6ff"Tracking Active" Tff7b72: Ta5d6ff"Live Track" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-[9px] opacity-70"Tb4b4b4>
Tff7b72{{
Te6edf3cvTb4b4b4.Te6edf3selectedPeerTff7b72?Tb4b4b4.Te6edf3is_tracking
Tff7b72? Ta5d6ff"Auto-requesting location"
Tff7b72: Ta5d6ff"Enable live tracking"
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- other sensor data if available -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3battery Tff7b72||
Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3physical_link
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex gap-3 px-1"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3batteryTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 opacity-60 text-[10px]"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"battery" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3batteryTb4b4b4.Te6edf3charge_percent Tff7b72}}%Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3physical_linkTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1 opacity-60 text-[10px]"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"antenna" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>SNR: Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3fieldsTb4b4b4.Te6edf3telemetryTb4b4b4.Te6edf3physical_linkTb4b4b4.Te6edf3snr Tff7b72}}dBTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- message footer: timestamp and status icons -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-end gap-1.5 mt-1.5 select-none h-3"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3classTff7b72=Ta5d6ff"text-[9px] opacity-80 font-medium"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleFooterTimeClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3getMessageInfoLinesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4, Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTb4b4b4)Tb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff'\n'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3formatTimeAgoTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3created_atTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
T8b949e<!-- outbound status icons -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOpportunisticDeferredDeliveryTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold uppercase tracking-wider"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3cvTb4b4b4.Te6edf3isThemeOutboundBubbleTb4b4b4(Te6edf3chatItemTb4b4b4)
Tff7b72? Ta5d6ff'text-amber-800 dark:text-amber-300'
Tff7b72: Ta5d6ff'text-amber-200'
Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.opportunistic_deferred_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'rejected'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-[9px] font-bold uppercase tracking-wider text-white"
Tb4b4b4>
Tff7b72{{ Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff"rejected" Tff7b72? Ta5d6ff"Rejected" Tff7b72: Ta5d6ff"Failed" Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"ml-0.5 p-0.5 rounded hover:bg-white/20 transition-colors"
Te6edf3titleTff7b72=Ta5d6ff"Retry sending"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3retrySendingMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"refresh" Te6edf3classTff7b72=Ta5d6ff"size-3 text-white" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
T8b949e<!-- delivered: double check -->
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff'delivered'Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check-all"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleDeliveredIconClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3titleTff7b72=Ta5d6ff"Delivered"
Tb4b4b4/Tb4b4b4>
T8b949e<!-- sent: single check (include unknown for initial outbound when server confirmed creation) -->
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'sent'Tb4b4b4, Ta5d6ff'propagated'Tb4b4b4, Ta5d6ff'unknown'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleSentCheckIconClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3state Tff7b72=== Ta5d6ff'propagated' Tff7b72? Ta5d6ff'Sent to propagation node' Tff7b72: Ta5d6ff'Sent'Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72svg
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3showRichOutboundPendingUiTb4b4b4(Te6edf3chatItemTb4b4b4) Tff7b72&& Te6edf3cvTb4b4b4.Te6edf3isOutboundPendingForUiTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3xmlnsTff7b72=Ta5d6ff"http://www.w3.org/2000/svg"
Te6edf3fillTff7b72=Ta5d6ff"none"
Te6edf3viewBoxTff7b72=Ta5d6ff"0 0 24 24"
Te6edf3classTff7b72=Ta5d6ff"animate-spin size-3.5 shrink-0"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundSendingStatusIconClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleStatusHoverTitleTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72titleTb4b4b4>
Tff7b72{{ Te6edf3cvTb4b4b4.Te6edf3outboundBubbleStatusHoverTitleTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72titleTb4b4b4>
Tb4b4b4<Tff7b72circle
Te6edf3classTff7b72=Ta5d6ff"opacity-25"
Te6edf3cxTff7b72=Ta5d6ff"12"
Te6edf3cyTff7b72=Ta5d6ff"12"
Te6edf3rTff7b72=Ta5d6ff"10"
Te6edf3strokeTff7b72=Ta5d6ff"currentColor"
Te6edf3stroke-widthTff7b72=Ta5d6ff"4"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72circleTb4b4b4>
Tb4b4b4<Tff7b72path
Te6edf3classTff7b72=Ta5d6ff"opacity-75"
Te6edf3fillTff7b72=Ta5d6ff"currentColor"
Te6edf3dTff7b72=Ta5d6ff"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72pathTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72svgTb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOutboundPendingForUiTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"check"
Te6edf3classTff7b72=Ta5d6ff"size-3"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubblePendingCheckIconClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.sending_ellipsis'Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3isOpportunisticDeferredDeliveryTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"relative flex size-3.5 shrink-0 items-center justify-center rounded-full border border-dashed border-amber-200/85"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.opportunistic_deferred_tooltip'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"clock-outline" Te6edf3classTff7b72=Ta5d6ff"size-2.5 text-amber-200/95" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- failed/cancelled/rejected: alert -->
Tb4b4b4<Tff7b72MaterialDesignIcon
Te6edf3v-else-ifTff7b72=Ta5d6ff"Tb4b4b4[Ta5d6ff'failed'Tb4b4b4, Ta5d6ff'cancelled'Tb4b4b4, Ta5d6ff'rejected'Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3stateTb4b4b4)Ta5d6ff"
Te6edf3icon-nameTff7b72=Ta5d6ff"alert-circle-outline"
Te6edf3classTff7b72=Ta5d6ff"size-3 text-white"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundBubbleFailedTitleTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- actions (expanded) -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3is_actions_expandedTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"border-t px-4 py-2.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3outboundExpandedActionsShellClassTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-blue-500 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-blue-600 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3replyToMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"messages.reply"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-red-500 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-red-600 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3deleteChatItemTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Delete
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-x-1.5 rounded-lg bg-gray-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm hover:bg-gray-700 transition-colors"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3showRawMessageTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Raw LXM
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72|| Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3is_reactionTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex w-fit max-w-full flex-wrap items-center gap-0.5 px-0.5"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Ta5d6ff'self-end justify-end' Tff7b72: Ta5d6ff'self-start justify-start'Tb4b4b4,
Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0 Tff7b72? Ta5d6ff'mt-0.5' Tff7b72: Ta5d6ff'mt-0'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3rTb4b4b4, Te6edf3ridxTb4b4b4) Tff7b72in Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3rTb4b4b4.Te6edf3reactionHash Tff7b72|| Te6edf3ridxTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"inline-flex min-h-[1.125rem] min-w-[1.125rem] cursor-default select-none items-center justify-center rounded-full border border-gray-200/90 bg-white px-1 py-0 text-sm leading-none shadow-sm dark:border-zinc-600/90 dark:bg-zinc-900"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? Te6edf3ridx Tff7b72+ T79c0ff2 Tff7b72: Te6edf3ridx Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3reactionReactorLabelTb4b4b4(Te6edf3rTb4b4b4.Te6edf3senderTb4b4b4)Ta5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3rTb4b4b4.Te6edf3emoji Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3is_reactionTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center justify-center rounded-full border border-dashed border-gray-300 bg-transparent text-xs leading-none text-gray-400 hover:border-gray-400 hover:text-gray-600 hover:bg-gray-50 dark:border-zinc-600 dark:text-zinc-500 dark:hover:border-zinc-500 dark:hover:text-zinc-300 dark:hover:bg-zinc-800 transition-colors opacity-0 group-hover:opacity-100"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72> T79c0ff0
Tff7b72? Ta5d6ff'min-h-[1.125rem] min-w-[1.125rem] px-1 py-0'
Tff7b72: Ta5d6ff'h-4 w-4 min-h-0 p-0'
Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{
Te6edf3orderTff7b72: Te6edf3chatItemTb4b4b4.Te6edf3is_outbound Tff7b72? T79c0ff1 Tff7b72: Tb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3reactionsTff7b72?Tb4b4b4.Te6edf3length Tff7b72?? T79c0ff0Tb4b4b4) Tff7b72+ T79c0ff1Tb4b4b4,
Tb4b4b4}Ta5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'messages.react'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3openReactionPickerTb4b4b4(Te6edf3chatItemTb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon Te6edf3icon-nameTff7b72=Ta5d6ff"emoticon-plus-outline" Te6edf3classTff7b72=Ta5d6ff"size-3" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
T8b949e<!-- expanded message details -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3cvTb4b4b4.Te6edf3expandedMessageInfo Tff7b72=== Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4.Te6edf3hashTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"mt-2 px-1 text-xs text-gray-500 dark:text-zinc-400 space-y-0.5"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3lineTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72in Te6edf3cvTb4b4b4.Te6edf3getMessageInfoLinesTb4b4b4(Te6edf3chatItemTb4b4b4.Te6edf3lxmf_messageTb4b4b4, Te6edf3chatItemTb4b4b4.Te6edf3is_outboundTb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3indexTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"break-all"
Tb4b4b4>
Tff7b72{{ Te6edf3line Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"../MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3AudioWaveformPlayer Tff7b72from Ta5d6ff"./AudioWaveformPlayer.vue"Tb4b4b4;
Tff7b72import Te6edf3LxmfUserIcon Tff7b72from Ta5d6ff"../LxmfUserIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3StickerView Tff7b72from Ta5d6ff"../stickers/StickerView.vue"Tb4b4b4;
Tff7b72import Te6edf3InViewAnimatedImg Tff7b72from Ta5d6ff"./InViewAnimatedImg.vue"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3isAnimatedRasterType Tb4b4b4} Tff7b72from Ta5d6ff"../../js/inViewObserver.js"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"ConversationMessageEntry"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3AudioWaveformPlayerTb4b4b4,
Te6edf3LxmfUserIconTb4b4b4,
Te6edf3StickerViewTb4b4b4,
Te6edf3InViewAnimatedImgTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4{
Te6edf3entryTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3cvTff7b72: Tb4b4b4{
Te6edf3typeTff7b72: Tffa657ObjectTb4b4b4,
Te6edf3requiredTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3isAnimatedRasterTypeTb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────